#ifndef _DOTHWAY_LINK_LIST_H
#define _DOTHWAY_LINK_LIST_H

#include "stdio.h"
#include "string.h"
#include "Element_data.h"
#include "stdlib.h"
#include "unistd.h"

// 节点
typedef struct Node
{
    Element_data data; // 数据域
    struct Node *next; // 指针域
    struct Node *prev; // 指针域

} Node;

// 头节点
typedef struct Head_Node
{
    Node * next;

} Head_Node;


//初始化链表
Head_Node * Init_Link_List();

//销毁链表
void Free_Link_List(Head_Node ** Head);

//插入
void Insert_Link_List(Head_Node * Head , Element_data data , int pos);

//删除
Element_data Del_Link_List(Head_Node * Head , int pos);

//遍历
void Printf_Link_List(Head_Node * Head);

//名字查找 返回该名字所在节点的地址
Node * Find_By_Name(Head_Node * Head , char * name);

//清空
void Empty_Link_List(Head_Node * Head);


#endif